perm filename GUIDE.NIC[VIS,HPM] blob sn#174849 filedate 1975-08-27 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Guide to format 2 vision routines on [VIS,HPM]
C00007 ENDMK
CāŠ—;
Guide to format 2 vision routines on [VIS,HPM]

VIXNIC.SAI   for displaying grey scale and halftone pictures on data disc.
		an extension for the display routines in DDSUB.SAI[GRA,HPM]

	requires: PIXNIC.SAI[VIS],DDSUB.SAI[GRA],VIXSUB.REL[VIS]

	provides: VIDEO(X1,Y1,X2,Y2,PICTURE,BIT);
			display PICTURE between X1,Y1,X2,Y2 in SCREEN
			co-ordinates. If BIT=-1 then a fast, low quality
			halftone, if -2 then a high quality halftone, if
			-3 then a buggy halftone. If positive then BIT
			represents a bit mask, which is anded with each
			pixel. If the result is nonzero, a bit is turned
			on in the corresponding part of the display.


PIXNIC.SAI   utility routines for getting, saving, moving, etc. pictures

	requires: PIXSUB.REL[VIS],TVSIX.REL[1,PDQ]

	provides: PIXEL(PICTURE,ROW,COLUMN);		value of a particular pixel
		  PUTEL(PICTURE,ROW,COLUMN,VALUE);	change a pixel
		  PFLDIM(FILNAME);		size of array needed for pic file
		  GETPFL(FILNAME,PICTURE);		read in a pic file
		  PIXDIM(HEIGHT,WIDTH,BITS);	size of array for HxWxB picture
		  MAKPIX(HEIGHT,WIDTH,BITS,PICTURE);	make blank HxWxB picture
		  PUTPFL(PICTURE,FILENAME);		write out PICTURE
		  CAMPIX(CAMERA,YEDGE,XEDGE,SUMS,CLPINC,PICTURE); read from a camera

		  PCLN,PCWD,PCBY,PCBYA,LNWD,LNBY,	where to find things in
		  LNBYA,WDBY,WDBI,BYBI,BPTAB,LINTAB	picture arrays


WIXNIC.SAI   picture processing operations

	requires: WIXSUB.REL[VIS],WIX2SB.REL[VIS]

	provides: INTRST(PICTURE,WINDOWSIZE,RESULTARRAY);  interest operator
		  INTERESTDIM(PICTURE,WINDOWSIZE);  pic size needed for intrst op
		  INTEREST(PICTURE,WINDOW,RESULTPICTURE); make interest op picture

		  BSTCOR(PICTURE1,SY1,SX1,SY2,SX2, PICTURE2,DY1,DX1,DY2,DX2);
		  MATCH(PICTURE1,SY1,SX1,SY2,SX2, PICTURE2,DY1,DX1,DY2,DX2);
				;correlators, find S window in pic1 in D in pic2

		  CLEAN(PICTURE);	remove single pixel noise, blurs a little
		  PASSHI(PICTURE1,WINDOWSIZE,PICTURE2);   high pass filter

		  COPPIC(PICTURE1,PICTURE2);  copy pic1 to pic2
		  HAFPIC(PICTURE1,PICTURE2,MAXBIT);  reduce pic to half resolution

		  GETPAR(ARRY, PICTR);	      copy full word array of pixels to pic
		  PERBIT(PICTURE, TRANSFORM); transform each pixel of pic
		  HISTOG(PICTURE, HISTOGRAM); count # of occurences of each gray val
		  NORMALIZE(PICTURE);	      make histogram flat

		  CMPPAR(PICTURE1,PICTURE2);  compare two pics [ sig(x-y)↑2 ]

		  ROWSUM(PICTURE1,ROWSUMS);   sum up the pixels in each row
		  ROWSUD(PICTURE1,ROWSUMS);   dirty rowsums
		  SYNCHRONIZE(PICTURE1);      do a vertical roll fixup

		  SELECT(PICTURE1,YEDGE,XEDGE,PICTURE2);  take a piece of a pic

	NOTE: all picture and other arrays are zero origin in all dimensions